package com.api.phm.domain.model;

import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.api.phm.domain.query.alarmRule.AlarmRuleCheck;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * 告警规则 模型
 */
@Getter
@Setter
public class AlarmRuleModel {
    /**
     * 流水ID
     */
    private Long ruleId;
    /**
     * 规则名称
     */
    private String ruleName;
    private JSONObject localRuleName;
    private String strRuleName;
    /**
     * 规则类型，1：单一参数，2：文字参数，3：组合型参数
     */
    private String ruleType;
    /**
     * 设备ID
     */
    private Long robotId;
    /**
     * 是否重复告警: Y:是重复告警 N:非重复告警
     */
    private String ruleRepeat;

    /**
     * 数据来源 -》 device_param
     */
    private JSONObject deviceMap;
    private String strDeviceMap;
    /**
     * 告警规则
     */
    private List<AlarmRuleCheck> ruleJson;
    private String strRuleJson;
    /**
     * 联系人列表
     */
    private List<Long> contacts;

    /**
     * 是否使用规则；Y:表示使用，N表示不使用
     */
    private String enable;
    private String alarmMessage;
    private String restoreMessage;
    /**
     * 描述
     */
    private String remark;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 更新人
     */
    private String updateBy;
}
